Page({
  data: {
    id: null,
    notice: null,
    isLoading: true
  },

  onLoad: function(options) {
    if (options.id) {
      this.setData({
        id: options.id
      });
      this.fetchNoticeDetail(options.id);
    } else {
      this.setData({
        isLoading: false
      });
    }
  },

  // 获取通知详情
  fetchNoticeDetail: function(id) {
    const app = getApp();
    const serverUrl = app.globalData.serverUrl || 'http://localhost:3000';
    
    wx.request({
      url: `${serverUrl}/api/notices/${id}`,
      method: 'GET',
      header: {
        'Authorization': 'Bearer ' + wx.getStorageSync('token')
      },
      success: (res) => {
        if (res.statusCode === 200) {
          this.setData({
            notice: res.data,
            isLoading: false
          });
        } else {
          this.setData({
            isLoading: false
          });
          wx.showToast({
            title: '获取通知失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        // 使用模拟数据
        const mockNotice = {
          id: id,
          title: '关于2023-2024学年第一学期期末考试安排的通知',
          content: '<p>各位老师、同学：</p><p>现将2023-2024学年第一学期期末考试相关事项通知如下：</p><p>1. 考试时间：2024年1月8日-1月19日</p><p>2. 考试方式：闭卷考试</p><p>3. 考试地点：详见附件安排表</p><p>请各位老师做好监考准备，各位同学认真复习，遵守考试纪律。</p>',
          publishTime: '2023-12-10 14:30',
          sender: '教务处',
          senderAvatar: '/images/admin_avatar.png',
          attachments: [
            {
              name: '期末考试安排表.xlsx',
              size: '156KB',
              url: 'https://example.com/exam_schedule.xlsx'
            },
            {
              name: '考场分布图.pdf',
              size: '2.3MB',
              url: 'https://example.com/exam_room_map.pdf'
            }
          ]
        };

        this.setData({
          notice: mockNotice,
          isLoading: false
        });
      }
    });
  },

  // 查看附件
  viewAttachment: function(e) {
    const url = e.currentTarget.dataset.url;
    
    wx.showLoading({
      title: '打开中...'
    });

    wx.downloadFile({
      url: url,
      success: function(res) {
        wx.hideLoading();
        if (res.statusCode === 200) {
          wx.openDocument({
            filePath: res.tempFilePath,
            success: function() {
              console.log('打开文档成功');
            },
            fail: function() {
              wx.showToast({
                title: '打开文件失败',
                icon: 'none'
              });
            }
          });
        }
      },
      fail: function() {
        wx.hideLoading();
        wx.showToast({
          title: '下载文件失败',
          icon: 'none'
        });
      }
    });
  }
});